using System.Collections.Generic;
using OhioState.Graphics;
using Tao.OpenGl;

namespace OhioState.Graphics.OpenGL
{
    public static class TextureManager
    {
        //
        // Non-OpenGL to OpenGL constants
        //
        public static readonly Dictionary<ImageFormat, int> PixelFormat;
        public static readonly Dictionary<ByteFormat, int> PixelBuffer;

        //
        // Constructors
        //
        static TextureManager()
        {
            PixelBuffer = new Dictionary<ByteFormat, int>(5);
            PixelBuffer.Add(ByteFormat.BYTE, Gl.GL_UNSIGNED_BYTE);
            PixelBuffer.Add(ByteFormat.FLOAT, Gl.GL_FLOAT);
            PixelBuffer.Add(ByteFormat.INT, Gl.GL_UNSIGNED_INT);
            PixelBuffer.Add(ByteFormat.SHORT, Gl.GL_UNSIGNED_SHORT);
            PixelBuffer.Add(ByteFormat.UNSIGNED_SHORT, Gl.GL_UNSIGNED_SHORT);
            PixelFormat = new Dictionary<ImageFormat, int>(3);
            PixelFormat.Add(ImageFormat.ALPHA, Gl.GL_ALPHA);
            PixelFormat.Add(ImageFormat.RGBA, Gl.GL_RGBA);
            PixelFormat.Add(ImageFormat.RGBA16, Gl.GL_RGBA16);
        }
    }
}
